TableDataImport
生成数据导入的事务
请求地址
POST
http://OmsAddress/app/newoms.php/webservice/oamp/table-data/import?cmd=10013&ip-type=webservicerest&access-token=AccessTokenVal
POST请求参数说明
参数名称 | 数据类型 | 说明 | 是否必填字段 | 备注 |
---|---|---|---|---|
set_id | 整型 | 事务所在的集群的id | 是 | |
tableKeysList | 数组 | 导入数据的表 | 是 | |
importSpeed | 整型 | 数据导入的速度,返回: (0, 50000] | 是 | |
RollBackType | 整型 | 数据导入类型 0:全量导入 1:部分回档 | 是 | |
DataType | 整型 | 数据来源类型0:关联事务ID 1:手动输入机器 | 是 | |
RelateTransId | 整型 | DataType = 0时,关联的事务的ID | DataType = 0,必填 | |
ipList | 字符串 | DataType = 1时,数据的机器上的路径,格式为:ip username password rollback_dir,并且账号密码中不能含有(\ ; - 空格),多个用换行分开如:1.1.1.1 tcaplus tcaplus /data/rollback_dir 当DataType = 1,ipList必填; DataType = 0,ipList传空字符串 | 是 | |
deleteBeforeImport | 整型 | import前是否先删除线上数据,默认值0不删除,1为删除 | 否 | 1. deleteBeforeImport给0,导入完的效果:</br>case 1 构造出来的数据中没有A记录,那么A的线上数据维持不变</br>case 2 构造出来的数据中有A记录,要导入的线上环境也有A记录,会把构造出的A记录Replace到线上。Replace对于一级字段是合并逻辑,对于二级字段是覆盖逻辑</br>case 3 构造出来的数据中有A记录,要导入的线上环境没有A记录,会把构造出的A记录Replace到线上。</br></br>2. deleteBeforeImport给1,导入完的效果:</br>case 1 构造出来的数据中没有A记录,会删掉A的线上数据</br>case 2 构造出来的数据中有A记录,会删掉A的线上数据,再拿构造出的A记录写回去</br>case 3 构造出来的数据中有A记录,会删掉A的线上数据(不存在不报错),再拿构造出的A记录写回去</br></br>请提单人根据预期的效果合理选择此选项 |
Data参数
使用json格式表示记录相关信息,示例如下:
{
"setId": 126,
"tableKeysList": [
{
"AppID": 2,
"ZoneID": 1,
"TableName": "type_right_4"
}
],
"ipList": "1.1.1.1 tcaplus tcaplus /data/rollback_dir",
"importSpeed": 2000,
"RollBackType": 0,
"DataType": 1
}
返回语法
返回参数说明
返回状态码不为200时,表示审核失败,返回数据为执行事务失败的信息
返回状态码为200,表示事务成功,返回的数据结构如下:
字段名称 | 数据类型 | 说明 | 备注 |
---|---|---|---|
trans_id | 整型 | 执行的对应的事务的id | |
set_id | 整型 | 事务所在的集群 |
请求示例
通过 curl 方法发起请求
命令中的参数请参考本页中的“POST请求参数说明”,access-token的获取方法详见:获取access-token
curl -H "Content-type: application/json" -X "POST" -d '{
"setId": 126,
"tableKeysList": [
{
"AppID": 2,
"ZoneID": 1,
"TableName": "type_right_4"
}
],
"ipList": "1.1.1.1 tcaplus tcaplus /data/rollback_dir",
"importSpeed": 2000,
"RollBackType": 0,
"DataType": 1
}' http://omsaddress/app/newoms.php/webservice/oamp/table-data/import?cmd=10013&ip-type=webservicerest&access-token=<access-token>
返回示例
成功返回示例
http请求的Status=200
{
"SetId": "126",
"TransId": 108,
"username": "username"
}
错误返回
http请求的Status!=200
{
"name": "Unauthorized",
"message": "You are requesting with an invalid credential.",
"code": 0,
"status": 401,
"type": "yii\\web UnauthorizedHttpException"
}
{
"Error": [
"can not find app_id(2),zone_id(3),table_name(add_table19)"
]
}